/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package rentalmobil.entity;

import java.sql.Date;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
import java.util.List;
import rentalmobil.koneksidatabase.koneksiDataBase;

/**
 *
 * @author Henfryandie
 */
public class kembali_mobil extends sewa_mobil {

    private int no_kembali;
    private Date tanggalMobilKembali;

    public kembali_mobil() {
    }

    public kembali_mobil(int no_kembali) {
        this.no_kembali = no_kembali;
    }

    public int getNo_kembali() {
        return no_kembali;
    }

    public void setNo_kembali(int no_kembali) {
        this.no_kembali = no_kembali;
    }

    public Date getTanggalMobilKembali() {
        return tanggalMobilKembali;
    }

    public void setTanggalMobilKembali(Date tanggalMobilKembali) {
        this.tanggalMobilKembali = tanggalMobilKembali;
    }

    //method ini digunakan untuk mendapatkan data transaksi sewa
    public void getTransaksiSewa(int no_sewa_kunci) throws SQLException {
        Statement st = koneksiDataBase.getConnection().createStatement();
        ResultSet rs = st.executeQuery("SELECT no_sewa, nama_penyewa,alamat_penyewa,jaminan,tanggal_sewa,tanggal_kembali, no_plat_mobil FROM sewa_mobil WHERE no_sewa = '" + no_sewa_kunci + "';");
        while (rs.next()) {
            setNo_sewa(rs.getInt("no_sewa"));
            setNamaPenyewa(rs.getString("nama_penyewa"));
            setAlamatPenyewa(rs.getString("alamat_penyewa"));
            setJaminan(rs.getString("jaminan"));
            setTanggalSewa(rs.getDate("tanggal_sewa"));
            setTanggalKembali(rs.getDate("tanggal_kembali"));
            setNo_plat_mobil(rs.getString("no_plat_mobil"));
        }
    }

    //method ini digunakan untuk melakukan insert data pada table kembali mobil
    public void kembaliMobilInsert() throws SQLException {
        PreparedStatement ps = koneksiDataBase.getConnection().prepareStatement("INSERT INTO `rentalmobil2011`.`kembali_mobil`(`no_sewa`,`tanggal_mobil_kembali`) VALUES (?,?);");
        ps.setInt(1, getNo_sewa());
        ps.setDate(2, new java.sql.Date(getTanggalMobilKembali().getTime()));
        ps.executeUpdate();
    }

    public List<kembali_mobil> tampilKembaliMobil() throws SQLException {
        Statement st = koneksiDataBase.getConnection().createStatement();
        ResultSet rs = st.executeQuery("CALL panggilDataKembali;");
        List<kembali_mobil> list = new ArrayList<kembali_mobil>();
        while (rs.next()) {
            kembali_mobil km = new kembali_mobil();
            km.setNo_kembali(rs.getInt("no_kembali_mobil"));
            km.setNo_sewa(rs.getInt("no_sewa"));
            km.setNamaPenyewa(rs.getString("nama_penyewa"));
            km.setAlamatPenyewa(rs.getString("alamat_penyewa"));
            km.setJaminan(rs.getString("jaminan"));
            km.setTanggalSewa(rs.getDate("tanggal_sewa"));
            km.setTanggalKembali(rs.getDate("tanggal_kembali"));
            km.setTanggalMobilKembali(rs.getDate("tanggal_mobil_kembali"));
            km.setNo_plat_mobil(rs.getString("no_plat_mobil"));
            list.add(km);
        }
        return list;
    }
}
